package com.example.attendancesystem_1_8.backendInterface;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

public class Company
{

    private static final String URL="http://127.0.0.1:8080/company";


    /**
     *用户（老板账号）创建一个公司
     * @param account 账号
     * @param password 密码
     * @param companyName 公司名
     */
    public static void addCompany(String account,String password,String companyName)
    {
        String url=URL+"/addCompany";

        JSONObject json=new JSONObject();
        json.put("account",account);
        json.put("password",password);
        json.put("companyName",companyName);

        JSONObject ans= JSONObject.parseObject(HttpRequest.sendPost(url,json.toString()));

        if(ans.getString("success").equals("true"))
        {
            System.out.println("新建公司成功");
            System.out.println("公司的id是"+ans.getString("id"));
        }
        else
        {
            switch(ans.getString("error"))
            {
                case "1":
                    System.out.println("密码错误");
                    break;
                case "2":
                    System.out.println("已存在同名公司");
                    break;
                case "3":
                    System.out.println("你的账号不是老板账号");
                    break;
            }
        }

    }


    /**
     * 为一个用户（员工账号）设置他所属的公司
     * @param account
     * @param password
     * @param companyName
     */
    public static void setCompany(String account,String password,String companyName)
    {
        String url=URL+"/selectCompany";

        JSONObject json=new JSONObject();
        json.put("account",account);
        json.put("password",password);
        json.put("companyName",companyName);

        JSONObject ans= JSONObject.parseObject(HttpRequest.sendPost(url,json.toString()));

        if(ans.getString("success").equals("true"))
        {
            System.out.println("设置公司成功");
        }
        else
        {
            switch(ans.getString("error"))
            {
                case "1":
                    System.out.println("密码错误");
                    break;
                case "2":
                    System.out.println("老板账号不能被添加公司，只能创建");
                    break;
                case "3":
                    System.out.println("貌似没有这个公司");
                    break;
            }
        }

    }


    /**
     * 根据公司id获取该公司信息及打卡时间表
     * @param companyId 公司id
     */
    public static void getCompany(int companyId)
    {
        String url=URL+"/getCompany";

        JSONObject body=new JSONObject();
        body.put("id",companyId);

        JSONObject ans= JSONObject.parseObject(HttpRequest.sendPost(url,body.toString()));

        if(ans.getString("success").equals("true"))
        {
            System.out.println("获取成功");

            //这个list里面每一条就是一个签到时间 （打印一下就懂了）
            //要获取每条里面得具体信息就把每一条再转成JSON 然后读取
            JSONArray list= JSONArray.parseArray(ans.getString("schedule"));
            for(int i=0;i<list.size();i++)
            {
                System.out.println(list.get(i));
            }

        }
        else
        {
            System.out.println("获取失败");
        }


    }


    public static void main(String[] args)
    {

        getCompany(1);
        getCompany(2);
        getCompany(3);


    }





}
